1. Field of the Invention
The present invention relates generally to computer software and improving the performance thereof.
2. Description of the Background Art
A thread in a program is a part being executed independently of other parts. In a multi-threaded environment, the multi-threaded parts are executed concurrently.
Java applications frequently use concurrent threads. When these threads need controlled access to a shared resource, a lock (or monitor) is typically used.
It is not uncommon in such situations for threads to spend inordinate time waiting to acquire a lock, needlessly wasting computing resources. Detecting such inefficient conditions is very valuable to developers and operators of Java applications.